define(['jquery','underscore','Amasty_GdprCookie/js/model/cookie-data-provider','Amasty_GdprCookie/js/storage/cookie','Amasty_GdprCookie/js/storage/essential-cookie','Amasty_GdprCookie/js/action/ga-initialize','mage/cookies'],function($,_,cookieDataProvider,cookieStorage,essentialStorage){'use strict';return{isShowNotificationBar:function(isNotice,websiteInteraction,firstShowProcess){if(isNotice===0||$.mage.cookies.get('amcookie_allowed')!==null||!this.isNeedFirstShow(firstShowProcess)){return false;} this.blockInteraction(websiteInteraction);return true;},blockInteraction:function(websiteInteraction){var cookie=$.mage.cookies.get('amcookie_allowed');if(cookie===null&&websiteInteraction==1){$('.page-wrapper').css({'pointer-events':'none','-webkit-user-select':'none','-moz-user-select':'none','-ms-user-select':'none','user-select':'none','height':'100%','overflow':'hidden','opacity':'0.1'});}},restoreInteraction:function(){$('.page-wrapper').removeAttr('style');},isNeedFirstShow:function(firstShowProcess){if(firstShowProcess==='0'){return true;} if(!localStorage.amCookieBarFirstShow){localStorage.amCookieBarFirstShow=1;return true;} return false;},deleteDisallowedCookie:function(){var disallowedCookie=$.mage.cookies.get('amcookie_disallowed');if(!disallowedCookie){return;} disallowedCookie.split(',').forEach(function(name){if(essentialStorage.isEssential(name)){cookieStorage.delete(name);}});},getEssentialGroups:function(){var groups,filteredGroups;cookieDataProvider.getCookieData().done(function(cookieData){groups=cookieData;});filteredGroups=_.filter(groups,function(group){return group.isEssential;});return{'groups':filteredGroups.map(function(group){return group.groupId;})};},isCookieAllowed:function(cookieName){var allowedGroups=$.mage.cookies.get('amcookie_allowed'),disallowedCookie=$.mage.cookies.get('amcookie_disallowed')||'';if(essentialStorage.isEssential(cookieName)){return true;} return!((!allowedGroups&&!disallowedCookie)||disallowedCookie.split(',').indexOf(cookieName)!==-1);},triggerSave:function(){$('body').trigger('amcookie_save');},triggerAllow:function(){$('body').trigger('amcookie_allow');}};});